package com.harmony.pilot.common.dto;

import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 代码补全请求
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CompletionRequest implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 代码上下文
     */
    @NotNull(message = "代码上下文不能为空")
    private CodeContext context;
    
    /**
     * 最大补全数量
     */
    private Integer maxResults = 10;
    
    /**
     * 是否使用LLM增强
     */
    private Boolean useLLM = true;
    
    /**
     * 是否包含代码片段
     */
    private Boolean includeSnippets = true;
    
    /**
     * 超时时间（毫秒）
     */
    private Long timeout = 5000L;
}

